package com.css.fxfzfxqh.modules.buildingKilometerGrid.model.vo;

import cn.hutool.core.util.PageUtil;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.param.QueryByVersionParam;
import lombok.Data;

import java.util.List;

@Data
public class QueryByVersionVo<T> {
    private List<FxqhBuildingGridTableTitleVo> title;
    private List<T> data;
    private Long total;
    private Integer page;
    private Integer rows;
    private Integer totalPage;

    public static <T> QueryByVersionVo<T> build(List<T> list, QueryByVersionParam queryByVersionParam, Long total, List<FxqhBuildingGridTableTitleVo> title) {
        QueryByVersionVo<T> queryByVersionVo = new QueryByVersionVo<>();
        queryByVersionVo.setData(list);
        queryByVersionVo.setTitle(title);
        if (queryByVersionParam.getPage() != null && queryByVersionParam.getRows() != null) {
            queryByVersionVo.setTotal(total);
            queryByVersionVo.setPage(queryByVersionParam.getPage());
            queryByVersionVo.setRows(queryByVersionParam.getRows());
            queryByVersionVo.setTotalPage(PageUtil.totalPage(total, queryByVersionParam.getRows()));
        }
        return queryByVersionVo;
    }
}
